package com.tedu.api.thread;

/**
 * setPriority()  设置线程优先级------决定执行那个线程
 * 单线程：创建一个线程做一件事
 * 多线程：创建多个线程做不同的事情
 * 线程优先级范围：1~10   数值越大被执行几率越大
 *
 * 案例：创建3个线程，分别知道3个线程优先级 max   10
 *                                   1000次：老大一声吼，地球抖三抖
 *                                    normal  5
 *                                    1000次：老二一出手，蚊子全飞走
 *                                    min     1
 *                                    1000次：老三一张口，笑倒一头牛
 *       使用Lambda完成三个线程创建【多线程】
 */
public class Thread_Priority {
    public static void main(String[] args) {
        //创建三个线程
        Thread max = new Thread(() -> {
            for (int i = 1; i < 1000; i++) {
                System.out.println("老大一声吼，地球抖三抖");
            }
        });

        Thread normal = new Thread(() -> {
            for (int i = 1; i < 1000; i++) {
                System.out.println("老二一出手，蚊子全飞走");
            }
        });


        Thread min= new Thread(() -> {
            for (int i = 1; i < 1000; i++) {
                System.out.println("老三一张口，笑倒一头牛");
            }
        });
        //设置线程优先级：max 10  normal  5 默认   min  1
        max.setPriority(10);
        min.setPriority(Thread.MIN_PRIORITY);//定死值
        //统一启动
        max.start();
        normal.start();
        min.start();
    }

}
